-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Respect VcCellMode in TraitRef::cell #8870
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
8 Skipped Deployments
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
🟢 Turbopack Benchmark CI successful 🟢Thanks |
✅ This change can build |
|
Migrated to the next.js repo: vercel/next.js#68473 |
*This is a migrated PR. This was in the turbo repository before the next.js merge.* **Migrated From:** vercel/turborepo#8870 ### Description Building on the `VcCellMode::raw_cell` API from #68467 and the addition of `ValueType::raw_cell` in #68472, this fixes an edge case where `TraitRef::cell` didn't respect `VcCellMode` and acted like it was always using `cell = "new"`. I noticed this problem while working on local `Vc` resolution. Because `TraitRef` doesn't know the real concrete type at compile time, this wasn't possible to fix without these new type-erased `raw_cell` APIs. The consequences of this bug are mostly just that some data might get recomputed in certain rare edge cases (most stuff doesn't use `TraitRef`s heavily). ### Testing Instructions A regression test is included, which fails without the other changes included in this PR. ``` cargo nextest r -p turbo-tasks-memory trait_ref ```
*This is a migrated PR. This was in the turbo repository before the next.js merge.* **Migrated From:** vercel/turborepo#8870 ### Description Building on the `VcCellMode::raw_cell` API from #68467 and the addition of `ValueType::raw_cell` in #68472, this fixes an edge case where `TraitRef::cell` didn't respect `VcCellMode` and acted like it was always using `cell = "new"`. I noticed this problem while working on local `Vc` resolution. Because `TraitRef` doesn't know the real concrete type at compile time, this wasn't possible to fix without these new type-erased `raw_cell` APIs. The consequences of this bug are mostly just that some data might get recomputed in certain rare edge cases (most stuff doesn't use `TraitRef`s heavily). ### Testing Instructions A regression test is included, which fails without the other changes included in this PR. ``` cargo nextest r -p turbo-tasks-memory trait_ref ```
*This is a migrated PR. This was in the turbo repository before the next.js merge.* **Migrated From:** vercel/turborepo#8870 ### Description Building on the `VcCellMode::raw_cell` API from #68467 and the addition of `ValueType::raw_cell` in #68472, this fixes an edge case where `TraitRef::cell` didn't respect `VcCellMode` and acted like it was always using `cell = "new"`. I noticed this problem while working on local `Vc` resolution. Because `TraitRef` doesn't know the real concrete type at compile time, this wasn't possible to fix without these new type-erased `raw_cell` APIs. The consequences of this bug are mostly just that some data might get recomputed in certain rare edge cases (most stuff doesn't use `TraitRef`s heavily). ### Testing Instructions A regression test is included, which fails without the other changes included in this PR. ``` cargo nextest r -p turbo-tasks-memory trait_ref ```
*This is a migrated PR. This was in the turbo repository before the next.js merge.* **Migrated From:** vercel/turborepo#8870 ### Description Building on the `VcCellMode::raw_cell` API from #68467 and the addition of `ValueType::raw_cell` in #68472, this fixes an edge case where `TraitRef::cell` didn't respect `VcCellMode` and acted like it was always using `cell = "new"`. I noticed this problem while working on local `Vc` resolution. Because `TraitRef` doesn't know the real concrete type at compile time, this wasn't possible to fix without these new type-erased `raw_cell` APIs. The consequences of this bug are mostly just that some data might get recomputed in certain rare edge cases (most stuff doesn't use `TraitRef`s heavily). ### Testing Instructions A regression test is included, which fails without the other changes included in this PR. ``` cargo nextest r -p turbo-tasks-memory trait_ref ```
Description
Building on the
VcCellMode::raw_cell
API from #8870 and the addition ofValueType::raw_cell
in #8826, this fixes an edge case whereTraitRef::cell
didn't respectVcCellMode
and acted like it was always usingcell = "new"
.I noticed this problem while working on local
Vc
resolution. BecauseTraitRef
doesn't know the real concrete type at compile time, this wasn't possible to fix without these new type-erasedraw_cell
APIs.The consequences of this bug are mostly just that some data might get recomputed in certain rare edge cases (most stuff doesn't use
TraitRef
s heavily).Testing Instructions
A regression test is included, which fails without the other changes included in this PR.